package com.uva.dbcs.gestionDeVehiculos.despliegue;

import java.util.Date;
import java.util.List;

import javax.ejb.Local;

import com.uva.dbcs.gestionDeVehiculos.dominio.Carnet;
import com.uva.dbcs.gestionDeVehiculos.dominio.Fabricante;
import com.uva.dbcs.gestionDeVehiculos.dominio.Modelo;
import com.uva.dbcs.gestionDeVehiculos.dominio.Vehiculo;
import com.uva.dbcs.utilidades.dominio.TipoCarnet;

@Local
public interface GestorDeVehiculosLocal {
	
	List<Vehiculo> getVehiculos();

	List<Modelo> getModelos();

	List<Fabricante> getFabricantes();

	Vehiculo getVehiculoById(int id);

	Fabricante getFabricanteById(int id);
	
	void crearNuevoVehiculo( boolean averiado, String color,
			double costeAdquisicion, Date fechaAdquisicion, double kilometraje,
			String matricula, String rutaImagen, int idmodelo);
	
	void crearNuevoModelo(double ancho, int año, double costeAlquiler,
			boolean gps, double largo, String nombre, double peso, int puertas,
			int idfabricante,TipoCarnet[] carnets); 

	Modelo getModeloById(int id);

	List<Carnet> getCarnets();
	
	Fabricante refreshFabricante(Fabricante f);

	List<Vehiculo> getVehiculos(int costeMaximo, int costeMinimo,
			 boolean gps, int idFabricante,
			int puertas);

}
